<?php
// +----------------------------------------------------------------------
// | ThinkCMF [ WE CAN DO IT MORE SIMPLE ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013-2018 http://www.thinkcmf.com All rights reserved.
// +----------------------------------------------------------------------
// | Author: Dean <zxxjjforever@163.com>
// +----------------------------------------------------------------------
namespace plugins\ewm\controller; //Demo插件英文名，改成你的插件英文就行了
use cmf\controller\PluginBaseController;
use plugins\Ewm\Model\PluginEwmModel;
use think\Db;
use cmf\phpqrcode;

class IndexController extends PluginBaseController
{
	public $config;


	function _initialize()
    {
       	$config = Db::name("plugin")->where(array('name'=>'Ewm'))->field('config')->find();
        $this->config =json_decode($config['config'],true);
    }

    function index()
    {

    	Vendor('phpqrcode.phpqrcode','.php');
    	$param = $this->request->param();
    	$url = $param['url']; //二维码内容
    	$errorCorrectionLevel = 'M';//容错级别
    	$matrixPointSize = 6;//生成图片大小
    	//生成二维码图片
    	$QRcode=new \QRcode();
    	$dir='upload/ewm/phpqrcode/'.date('Ymd').'/';
 		$arrayName = array('0' => 'upload/', '1' => 'upload/ewm/' , '2' => 'upload/ewm/phpqrcode/' , '3' => $dir);
 		foreach ($arrayName as $key => $value) {
 			if (!is_dir($value)) {
	    		 mkdir($value,'07777',true);
	    	}
 		}
    	$filename = $dir.'/'.date('YmdHis').'.png';
    	$QRcode->png($url, $filename, $errorCorrectionLevel, $matrixPointSize, 2);
    	$logo = $this->config['image'];//准备好的logo图片  需要加入到二维码中的logo
    	$QR = $filename;//已经生成的原始二维码图
    		if ($logo != '') {
    			$logo_width='1';
    			$logo_height='1';
    			$QR = imagecreatefromstring(file_get_contents($QR));
    			if (!empty($logo)) {
    				$logo = imagecreatefromstring(file_get_contents($logo));
    				$logo_width = imagesx($logo);//logo图片宽度
    				$logo_height = imagesy($logo);//logo图片高度
    			}
    			$QR_width = imagesx($QR);//二维码图片宽度
    			$QR_height = imagesy($QR);//二维码图片高度
    			$logo_qr_width = $QR_width / 5;
    			$scale = $logo_width/$logo_qr_width;
    			$logo_qr_height = $logo_height/$scale;
    			$from_width = ($QR_width - $logo_qr_width) / 2;
		    	//重新组合图片并调整大小
		    	imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,$logo_qr_height, $logo_width, $logo_height);
		    	$dirlogo='upload/ewm/logophpqrcode/'.date('Ymd');
		 		$arrayName = array('0' => 'upload/', '1' => 'upload/ewm/' , '2' => 'upload/ewm/logophpqrcode/' , '3' => $dirlogo);
		 		foreach ($arrayName as $key => $valuelogo) {
		 			if(!is_dir($valuelogo)) {
	    				 mkdir($valuelogo,'07777',true);
	    			}
		 		}
	    		$filenamelogo = $dirlogo.'/'.date('YmdHis').'.png';
		    	imagepng($QR,$filenamelogo);
		    	return $filenamelogo;  //logo二维码
    		}else{ 
    			return $filename;		//二维码
    		}
    }

}
